time: 2021.3
# -*- coding: utf-8 -*-
# @Time    : 2021/4/18 16:00
# @Author  : luogan
# @Email   : 468640092@qq.com
# @File    : python2和python3的区别.py
# @Software: PyCharm.

#python2和python3的区别

#1 Python3输出字符串的时候一定要加一个(),python2里面不需要加()也可以输出并且不会报错
#  例如python2：
#  print"hello"
#>> hello
#     python3:
#  print"hello"
#>> 会报错

#2 #输入：
# python3中的input得到为str
# python2中的input默认为int，str要使用引号包裹，raw_input得到的是str
# 例如：python2：
#>>> num1 = input("please input:")
#    please input:23
#>>> type(num1)
# <type 'int'>
# 例如：python3：
#>>> num1 = input("please input:")
#please input:2
#>>>type(num1)
#<class 'str'>

#3 # 模块与包
#python2 包文件必须要有一个__init__.py才能被识别程包目录     python2是默认是相对导入
#python3 可以识别把普通目录识别成包，不一定需要__init__.py    python3是绝对导入

#4 #编码
#python2 默认是ascii编码
#python3 默认是utf-8编码

#5、数值类型
#python2 有长整型
#python3 只有整形

#5、运算符
#python2 中的除法运算符为地板除，不是真除。转化成浮点数才表示真除  例如：5/2 >> 2
#python3 中的除法就是真除                                  例如：5/2 >> 2.5

#6、字符串拼接
#python3 可以使用f标志位拼接，python2不可以

#7、range与xrange
# python2: range(0,4) -->结果：[0,1,2,3]
#          xrange(0,4) -->结果： 可迭代对象（惰性求值，使用的时候再生成值）
# python3： 没有xrange，range函数就是python2中的xrange

#8、布尔类型
#python2 True、False都没有定义成关键字
#python3 True、False都是关键字

#9、异常机制
#python2：
# try:
#     ...
# except Exception,e:
#     ...

#python3:
# try:
#     ...
# except Exception as e:
#     ...

#10、字节码文件
#python3  存放在同级目录下的__pycache__文件夹
#python2  直接存放在同级目录下，.pyc结尾文件

#__future__ 把下一个版本的特性导入到当前版本
# >>> from __future__ import division
# >>> 5/3
# 1.6666666666666667